<?xml version="1.0" encoding="utf-8" ?>
<Ouvrages xmlns:typing="urn:xmd-typing" xmlns:mapping="urn:xmd-mapping">
  <Ouvrage>
	<typing:entity
		type="Biblio.Ouvrages.Ouvrage, Biblio.Ouvrages"
		abstract="true"/>
	<mapping:entity PrimaryKey="OID"
	    class="Lib.Object.Relational.UnionMapping, Lib.Object"/>
	<Prix>
		<typing:property type="System.String"/>
	</Prix>
  </Ouvrage>
  <Livre>
	<typing:entity
	    type="Biblio.Ouvrages.Livre, Biblio.Ouvrages"
	    parent="Biblio.Ouvrages.Ouvrage, Biblio.Ouvrages"/>
	<mapping:entity PrimaryKey="OID"
	    class="Lib.Object.Relational.TableFactory, Lib.Object"/>
	<Nom>
		<typing:property type="System.String"/>
		<mapping:property alias="Nom"/>
	</Nom>
	<Isbn>
		<typing:property type="System.String"/>
		<mapping:property/>
	</Isbn>
	<Prix>
		<typing:property type="System.Decimal"/>
		<mapping:property/>
	</Prix>
	<Categorie>
		<typing:reference
			type="Biblio.Ouvrages.Categorie, Biblio.Ouvrages"
			multiplicity="1"/>
		<!--<mapping:reference
			alias="Categorie"
			class="Lib.Object.Relational.IndirectReferenceFactory, Lib.Object"
			adjacent-role="ListeLivre"
			incident-role="Categorie"
			table-name="Categori_ListeLiv"/>-->
		<mapping:reference
			class="Lib.Object.Relational.InverseSingleReferenceFactory, Lib.Object"
			adjacent-role="ListeLivre"
			incident-role="Categorie"/>
	</Categorie>
	<ListeAuteur>
	    <typing:reference
			type="Biblio.Ouvrages.Auteur, Biblio.Ouvrages"
			multiplicity="*"/>
	    <mapping:reference
			alias="ListeAuteur"
			class="Lib.Object.Relational.IndirectListFactory, Lib.Object"
			adjacent-role="ListeLivre"
			incident-role="ListeAuteur"
			table-name="ListeLiv_ListeAut"/>
	</ListeAuteur>
  </Livre>
  <NumeroRevue>
	<typing:entity
	    type="Biblio.Ouvrages.NumeroRevue, Biblio.Ouvrages"
	    parent="Biblio.Ouvrages.Ouvrage, Biblio.Ouvrages"/>
	<mapping:entity PrimaryKey="OID"
	    class="Lib.Object.Relational.TableFactory, Lib.Object"/>
	<DateParution>
		<typing:property type="System.DateTime"/>
		<mapping:property/>
	</DateParution>
	<Prix>
		<typing:property type="System.Decimal"/>
		<mapping:property/>
	</Prix>
	<Revue>
	    <typing:reference
	        type="Biblio.Ouvrages.Revue, Biblio.Ouvrages"
	        multiplicity="1"/>
	    <!--<mapping:reference
	        class="Lib.Object.Relational.IndirectReferenceFactory, Lib.Object"
	        adjacent-role="ListeNumeroRevue"
	        incident-role="Revue"
	        table-name="ListeNum_Revue"/>-->
	    <mapping:reference
	        class="Lib.Object.Relational.InverseSingleReferenceFactory, Lib.Object"
	        adjacent-role="ListeNumeroRevue"
	        incident-role="Revue"/>
    </Revue>
  </NumeroRevue>
  <Revue>
	<typing:entity
	    type="Biblio.Ouvrages.Revue, Biblio.Ouvrages"/>
	<mapping:entity PrimaryKey="OID"
	    class="Lib.Object.Relational.TableFactory, Lib.Object"/>
	<Frequence>
		<typing:property type="System.Int32"/>
		<mapping:property/>
	</Frequence>
	<Titre>
		<typing:property type="System.String"/>
		<mapping:property/>
	</Titre>
	<Libelle>
		<typing:property type="System.String"/>
		<mapping:property/>
	</Libelle>
	<ListeNumeroRevue>
	    <typing:reference
	        type="Biblio.Ouvrages.NumeroRevue, Biblio.Ouvrages"
	        multiplicity="*"/>
	    <!--<mapping:reference
	        class="Lib.Object.Relational.IndirectListFactory, Lib.Object"
	        adjacent-role="Revue"
	        incident-role="ListeNumeroRevue"
	        table-name="ListeNum_Revue"/>-->
	     <mapping:reference
	        class="Lib.Object.Relational.InverseReferenceFactory, Lib.Object"
	        adjacent-role="Revue"
	        incident-role="ListeNumeroRevue"/>
    </ListeNumeroRevue>
  </Revue>
  <Categorie>
	<typing:entity
	    type="Biblio.Ouvrages.Categorie, Biblio.Ouvrages"/>
	<mapping:entity PrimaryKey="OID"
	    class="Lib.Object.Relational.TableFactory, Lib.Object"/>
	<Libelle>
		<typing:property type="System.String"/>
		<mapping:property/>
	</Libelle>
	<ListeLivre>
	    <typing:reference
	        type="Biblio.Ouvrages.Livre, Biblio.Ouvrages"
	        multiplicity="*"/>
	    <mapping:reference
	        class="Lib.Object.Relational.IndirectListFactory, Lib.Object"
	        adjacent-role="Categorie"
	        incident-role="ListeLivre"
	        table-name="Categori_ListeLiv"/>
    </ListeLivre>
  </Categorie>
  <Auteur>
	<typing:entity
	    type="Biblio.Ouvrages.Auteur, Biblio.Ouvrages"/>
	<mapping:entity PrimaryKey="OID"
	    class="Lib.Object.Relational.TableFactory, Lib.Object"/>
	<Nom>
		<typing:property type="System.String"/>
		<mapping:property/>
	</Nom>
	<Prenom>
		<typing:property type="System.String"/>
		<mapping:property/>
	</Prenom>
	<ListeLivre>
		<typing:reference
			type="Biblio.Ouvrages.Livre, Biblio.Ouvrages"
			multiplicity="*"/>
		<!--<mapping:reference
			class="Lib.Object.Relational.IndirectListFactory, Lib.Object"
			adjacent-role="ListeAuteur"
			incident-role="ListeLivre"
			table-name="ListeLiv_ListeAut"/>-->
		<mapping:reference
			class="Lib.Object.Relational.InverseReferenceFactory, Lib.Object"
			adjacent-role="ListeAuteur"
			incident-role="ListeLivre"/>
	</ListeLivre>
  </Auteur>
</Ouvrages>
